// pages/washHouse/washHouse.js
import {
  request
} from '../../request/index.js'
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    washList: [],
    number: 1,

    //地图
    latitude: 34.660854,
    longitude: 112.483664,
    latitude2: '',
    longitude2: '',
    circles: [{
      latitude: 34.,
      longitude: 112.,
      fillColor: "#8DE25055",
      radius: 30
    }],
    markers: [
      // {
      //   id: 1,
      //   latitude: 34.660097,
      //   longitude: 112.481167,
      //   width: 30,
      //   height: 30,
      //   name: '安乐明德小学',
      //   iconPath: '../../image/location.png',
      //   //为标记点旁边增加标签
      //   label: {
      //     content: "安乐明德小学",
      //     color: "#EE5E7B",
      //     borderWidth: 1,
      //     borderColor: "#EE5E78",
      //     borderRadius: 5,
      //     padding: 5,
      //   },
      // },
      // {
      //   id: 2,
      //   latitude: 34.659191,
      //   longitude: 112.477592,
      //   width: 30,
      //   height: 30,
      //   name: '附属中学',
      //   iconPath: '../../image/location.png',
      //   label: {
      //     content: "附属中学",
      //     color: "#EE5E7B",
      //     borderWidth: 1,
      //     borderColor: "#EE5E78",
      //     borderRadius: 5,
      //     padding: 5,
      //   },
      // },
      // {
      //   id: 3,
      //   latitude: 34.658018,
      //   longitude: 112.476658,
      //   width: 30,
      //   height: 30,
      //   name: '青年旅店',
      //   iconPath: '../../image/location.png',
      //   label: {
      //     content: "青年旅店",
      //     color: "#EE5E7B",
      //     borderWidth: 1,
      //     borderColor: "#EE5E78",
      //     borderRadius: 5,
      //     padding: 5,
      //   },
      // },
    ],
    distanceArr: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.getLocation({
      type: 'gcj02',
      success: (result) => {
        console.log(result);
        this.setData({
          latitude: result.latitude,
          longitude: result.longitude
        })
      },
    })
    //发送请求获取洗衣房数据
    request({
      url: 'WashHouse/getWashHouseAllInfo',
      data: {},
    }).then((result) => {
      console.log(result);
      this.setData({
        washList: result.data.data.reverse()
      });
      //调用给markers赋值
      this.getlatlng();
      //计算距离
      var lat1 = this.data.latitude;
      var lng1 = this.data.longitude;
      let distanceArr = this.data.markers.map((item, index, arr) => {
        // console.log(item.latitude);
        var lat2 = item.latitude;
        var lng2 = item.longitude;
        return this.getDistance(lat1, lng1, lat2, lng2);
      });
      this.setData({
        distanceArr
      })
    });
  },
  //通过后台传入的经纬度给地图标点
  getlatlng() {
    let markers = this.data.washList.map((item, index, arr) => {
      let obj = {};
      //  console.log(item);
      obj.id = index + 1;
      obj.latitude = parseFloat(item.washhouse_addressX);
      obj.longitude = parseFloat(item.washhouse_addressY);
      obj.width = 30;
      obj.height = 30;
      obj.name = item.washhouse_address;
      obj.iconPath = '../../image/location.png';
      // console.log(obj);
      return obj;
    });
    this.setData({
      markers
    });
  },

  //点击跳转洗衣机页面
  goEquipment(e) {
    if (parseFloat(this.data.distanceArr[e.currentTarget.dataset.washhouse.washhouse_id - 1])> 0.5) {
      console.log(1111);
      wx.showToast({
        title: '使用的附近设备距离不能超过0.5km',
        icon: 'none'
      })
    }else if(e.currentTarget.dataset.washhouse.washing_machine==0){
      wx.showToast({
        title: '此洗衣房目前没有洗衣机，请重新选择',
        icon: 'none'
      })
    }else {
      request({
        url: 'WashHouse/getWashMachineInfoAPP',
        data: {
          washhouse_id: e.currentTarget.dataset.washhouse.washhouse_id
        },
      }).then((result) => {
        console.log(result);
        wx.setStorageSync('washList', result.data.data);
        wx.navigateTo({
          url: '../../pages/equipment/equipment'
        });
      });
    }

  },
  //点击地图上标记的点跳转页面
  selectMarket: function (e) {
    console.log(e);
    var id = e.detail.markerId;
    console.log(id);
    this.opLocation(id);
  },
  //点击选择地点
  opLocation(id) {
    wx.openLocation({
      latitude: this.data.markers[id - 1].latitude,
      longitude: this.data.markers[id - 1].longitude,
      name: this.data.markers[id - 1].name,
    })
  },
  // 计算距离函数
  Rad(d) {
    //根据经纬度判断距离
    return d * Math.PI / 180.0;
  },
  getDistance(lat1, lng1, lat2, lng2) {
    // lat1当前位置的纬度
    // lng1当前位置的经度
    // lat2目标位置的纬度
    // lng2目标位置的经度
    var radLat1 = this.Rad(lat1);
    var radLat2 = this.Rad(lat2);
    var a = radLat1 - radLat2;
    var b = this.Rad(lng1) - this.Rad(lng2);
    var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
    s = s * 6378.137;
    s = Math.round(s * 10000) / 10000;
    s = s.toFixed(2) + 'km' //保留两位小数
    // console.log('两点之间距离多少km:' + s);
    return s
  },

  goMap(e) {
    console.log(e);
    let id = e.currentTarget.dataset.id;
    this.opLocation(id);
  }
})